package com.ruoyi.report_jl.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 细集料砂当量 亚甲蓝 棱角性（流动时间法）记录业务对象 report_jl_xjlsdljlb_bs_info
 *
 * @author tll
 * @date 2024-07-31
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class ReportJlXjlsdljlbBsInfoBo extends BaseEntity {

    /**
     * id
     */
    @NotNull(message = "id不能为空", groups = { EditGroup.class })
    private Long excelId;

    /**
     * 共几页
     */
    @NotNull(message = "共几页不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long totalPage;

    /**
     * 第几页
     */
    @NotNull(message = "第几页不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long page;

    /**
     * 记录编号
     */
    @NotBlank(message = "记录编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jilbh;

    /**
     * 检测单位名称
     */
    @NotBlank(message = "检测单位名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancdwmc;

    /**
     * 工程部位/用途
     */
    @NotBlank(message = "工程部位/用途不能为空", groups = { AddGroup.class, EditGroup.class })
    private String gongcbwyt;

    /**
     * 样品名称
     */
    @NotBlank(message = "样品名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpmc;

    /**
     * 样品编号
     */
    @NotBlank(message = "样品编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpbh;

    /**
     * 样品数量
     */
    @NotBlank(message = "样品数量不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpsl;

    /**
     * 样品状态
     */
    @NotBlank(message = "样品状态不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpzt;

    /**
     * 样品时间
     */
    @NotNull(message = "样品时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date yangpsj;

    /**
     * 试验检测日期
     */
    @NotBlank(message = "试验检测日期不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shiyjcrq;

    /**
     * 试验条件温度
     */
    @NotBlank(message = "试验条件温度不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shiytjwd;

    /**
     * 试验条件湿度
     */
    @NotBlank(message = "试验条件湿度不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shiytjsd;

    /**
     * 检测依据
     */
    @NotBlank(message = "检测依据不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancyj;

    /**
     * 判定依据
     */
    @NotBlank(message = "判定依据不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pandyj;

    /**
     * 主要仪器设备名称及编号
     */
    @NotBlank(message = "主要仪器设备名称及编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String zhuyyqsbmcjbh;

    /**
     * 附加声明
     */
    @NotBlank(message = "附加声明不能为空", groups = { AddGroup.class, EditGroup.class })
    private String fujsm;

    /**
     * 报表名称
     */
    @NotBlank(message = "报表名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String baobmc;

    /**
     * 报表编号
     */
    @NotBlank(message = "报表编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String baobbh;

    /**
     * 工程名称
     */
    @NotBlank(message = "工程名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String gongcmc;

    /**
     * 检测人
     */
    @NotBlank(message = "检测人不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancr;

    /**
     * 记录人
     */
    @NotBlank(message = "记录人不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jilr;

    /**
     * 复核人
     */
    @NotBlank(message = "复核人不能为空", groups = { AddGroup.class, EditGroup.class })
    private String fuhr;

    /**
     * 日期
     */
    @NotNull(message = "日期不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date riq;

    /**
     * 备注
     */
    @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
    private String remark;

    /**
     * 设备id逗号分隔
     */
    @NotBlank(message = "设备id逗号分隔不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shebIds;

    /**
     * 检测依据ids
     */
    @NotBlank(message = "检测依据ids不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancyjIds;

    /**
     * 判定依据ids
     */
    @NotBlank(message = "判定依据ids不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pandyjIds;

    /**
     * 砂当量试验配置时间
     */
    @NotBlank(message = "砂当量试验配置时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shadlPzsj;

    /**
     * 砂当量试验氯化钙用量（g）
     */
    @NotNull(message = "砂当量试验氯化钙用量（g）不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shadlLhg;

    /**
     * 砂当量试验甘油用量（g）
     */
    @NotNull(message = "砂当量试验甘油用量（g）不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shadlGy;

    /**
     * 砂当量试验甲醛用量（g）
     */
    @NotNull(message = "砂当量试验甲醛用量（g）不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shadlJq;

    /**
     * 砂当量试验配置数量
     */
    @NotNull(message = "砂当量试验配置数量不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shadlPzsl;

    /**
     * 砂当量试验次数1
     */
    @NotBlank(message = "砂当量试验次数1不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shadlSycs1;

    /**
     * 砂当量试验试样湿质量1
     */
    @NotNull(message = "砂当量试验试样湿质量1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shadlSzl1;

    /**
     * 砂当量试验试筒中絮凝物和沉淀物的总高度h1(mm)1
     */
    @NotNull(message = "砂当量试验试筒中絮凝物和沉淀物的总高度h1(mm)1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shadlH11;

    /**
     * 砂当量试验试筒中用活塞测定的集料沉淀物的高度h2(mm)1
     */
    @NotNull(message = "砂当量试验试筒中用活塞测定的集料沉淀物的高度h2(mm)1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shadlH21;

    /**
     * 砂当量试验冲洗液温度(℃)1
     */
    @NotNull(message = "砂当量试验冲洗液温度(℃)1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shadlWd1;

    /**
     * 砂当量试验试样砂当量测值1
     */
    @NotNull(message = "砂当量试验试样砂当量测值1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shadlCz1;

    /**
     * 砂当量试验次数2
     */
    @NotBlank(message = "砂当量试验次数2不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shadlSycs2;

    /**
     * 砂当量试验试样湿质量2
     */
    @NotNull(message = "砂当量试验试样湿质量2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shadlSzl2;

    /**
     * 砂当量试验试筒中絮凝物和沉淀物的总高度h1(mm)2
     */
    @NotNull(message = "砂当量试验试筒中絮凝物和沉淀物的总高度h1(mm)2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shadlH12;

    /**
     * 砂当量试验试筒中用活塞测定的集料沉淀物的高度h2(mm)2
     */
    @NotNull(message = "砂当量试验试筒中用活塞测定的集料沉淀物的高度h2(mm)2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shadlH22;

    /**
     * 砂当量试验冲洗液温度(℃)2
     */
    @NotNull(message = "砂当量试验冲洗液温度(℃)2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shadlWd2;

    /**
     * 砂当量试验试样砂当量测值2
     */
    @NotNull(message = "砂当量试验试样砂当量测值2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shadlCz2;

    /**
     * 砂当量试验平均值
     */
    @NotNull(message = "砂当量试验平均值不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shadlPjz;

    /**
     * 亚甲蓝试验烘干前亚甲蓝粉末质量mh(g)
     */
    @NotNull(message = "亚甲蓝试验烘干前亚甲蓝粉末质量mh(g)不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal yajlZlmh;

    /**
     * 亚甲蓝试验烘干后亚甲蓝粉末质量mg(g)
     */
    @NotNull(message = "亚甲蓝试验烘干后亚甲蓝粉末质量mg(g)不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal yajlZlmg;

    /**
     * 亚甲蓝试验亚甲蓝粉末含水率
     */
    @NotNull(message = "亚甲蓝试验亚甲蓝粉末含水率不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal yajlHsl;

    /**
     * 亚甲蓝试验配置1L标准溶液所需亚甲蓝粉末质量(g)
     */
    @NotNull(message = "亚甲蓝试验配置1L标准溶液所需亚甲蓝粉末质量(g)不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal yajlZl1l;

    /**
     * 测定值-烘干试样质量
     */
    @NotNull(message = "测定值-烘干试样质量不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal yajlCdzmg;

    /**
     * 测定值-试验加入亚甲蓝溶液总量(mL)
     */
    @NotNull(message = "测定值-试验加入亚甲蓝溶液总量(mL)不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal yajlCdzml;

    /**
     * 测定值-亚甲蓝值(g/kg)
     */
    @NotNull(message = "测定值-亚甲蓝值(g/kg)不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal yajlCdzg;

    /**
     * 小于0.15mm部分或矿粉亚甲蓝值-烘干试样质量
     */
    @NotNull(message = "小于0.15mm部分或矿粉亚甲蓝值-烘干试样质量不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal yajlX015mg;

    /**
     * 小于0.15mm部分或矿粉亚甲蓝值-试验加入亚甲蓝溶液总量(mL)
     */
    @NotNull(message = "小于0.15mm部分或矿粉亚甲蓝值-试验加入亚甲蓝溶液总量(mL)不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal yajlX015ml;

    /**
     * 小于0.15mm部分或矿粉亚甲蓝值-亚甲蓝值(g/kg)
     */
    @NotNull(message = "小于0.15mm部分或矿粉亚甲蓝值-亚甲蓝值(g/kg)不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal yajlX015g;

    /**
     * 评价试验-烘干试样质量m(g)
     */
    @NotNull(message = "评价试验-烘干试样质量m(g)不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal yajlPjmg;

    /**
     * 评价试验-试验加入亚甲蓝溶液总量
     */
    @NotNull(message = "评价试验-试验加入亚甲蓝溶液总量不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal yajlPjml;

    /**
     * 评价试验-滤纸上沉淀物周围是否出现色晕
     */
    @NotBlank(message = "评价试验-滤纸上沉淀物周围是否出现色晕不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yajlPjlz;

    /**
     * 棱角性试验次数1
     */
    @NotBlank(message = "棱角性试验次数1不能为空", groups = { AddGroup.class, EditGroup.class })
    private String lengjSycs1;

    /**
     * 棱角性试验棱角性试验细集料表观相对密度1
     */
    @NotNull(message = "棱角性试验棱角性试验细集料表观相对密度1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal lengjMd1;

    /**
     * 棱角性试验洗去小于0.075mm颗粒的干试样质量m(g)1
     */
    @NotNull(message = "棱角性试验洗去小于0.075mm颗粒的干试样质量m(g)1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal lengjMg1;

    /**
     * 棱角性试验细集料从漏斗开口处流出时间测值(s)1
     */
    @NotNull(message = "棱角性试验细集料从漏斗开口处流出时间测值(s)1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal lengjCz1;

    /**
     * 棱角性试验次数2
     */
    @NotBlank(message = "棱角性试验次数2不能为空", groups = { AddGroup.class, EditGroup.class })
    private String lengjSycs2;

    /**
     * 棱角性试验棱角性试验细集料表观相对密度2
     */
    @NotNull(message = "棱角性试验棱角性试验细集料表观相对密度2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal lengjMd2;

    /**
     * 棱角性试验洗去小于0.075mm颗粒的干试样质量m(g)2
     */
    @NotNull(message = "棱角性试验洗去小于0.075mm颗粒的干试样质量m(g)2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal lengjMg2;

    /**
     * 棱角性试验细集料从漏斗开口处流出时间测值(s)2
     */
    @NotNull(message = "棱角性试验细集料从漏斗开口处流出时间测值(s)2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal lengjCz2;

    /**
     * 棱角性试验次数3
     */
    @NotBlank(message = "棱角性试验次数3不能为空", groups = { AddGroup.class, EditGroup.class })
    private String lengjSycs3;

    /**
     * 棱角性试验棱角性试验细集料表观相对密度3
     */
    @NotNull(message = "棱角性试验棱角性试验细集料表观相对密度3不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal lengjMd3;

    /**
     * 棱角性试验洗去小于0.075mm颗粒的干试样质量m(g)3
     */
    @NotNull(message = "棱角性试验洗去小于0.075mm颗粒的干试样质量m(g)3不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal lengjMg3;

    /**
     * 棱角性试验细集料从漏斗开口处流出时间测值(s)3
     */
    @NotNull(message = "棱角性试验细集料从漏斗开口处流出时间测值(s)3不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal lengjCz3;

    /**
     * 棱角性试验次数4
     */
    @NotBlank(message = "棱角性试验次数4不能为空", groups = { AddGroup.class, EditGroup.class })
    private String lengjSycs4;

    /**
     * 棱角性试验棱角性试验细集料表观相对密度4
     */
    @NotNull(message = "棱角性试验棱角性试验细集料表观相对密度4不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal lengjMd4;

    /**
     * 棱角性试验洗去小于0.075mm颗粒的干试样质量m(g)4
     */
    @NotNull(message = "棱角性试验洗去小于0.075mm颗粒的干试样质量m(g)4不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal lengjMg4;

    /**
     * 棱角性试验细集料从漏斗开口处流出时间测值(s)4
     */
    @NotNull(message = "棱角性试验细集料从漏斗开口处流出时间测值(s)4不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal lengjCz4;

    /**
     * 棱角性试验次数5
     */
    @NotBlank(message = "棱角性试验次数5不能为空", groups = { AddGroup.class, EditGroup.class })
    private String lengjSycs5;

    /**
     * 棱角性试验棱角性试验细集料表观相对密度5
     */
    @NotNull(message = "棱角性试验棱角性试验细集料表观相对密度5不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal lengjMd5;

    /**
     * 棱角性试验洗去小于0.075mm颗粒的干试样质量m(g)5
     */
    @NotNull(message = "棱角性试验洗去小于0.075mm颗粒的干试样质量m(g)5不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal lengjMg5;

    /**
     * 棱角性试验细集料从漏斗开口处流出时间测值(s)5
     */
    @NotNull(message = "棱角性试验细集料从漏斗开口处流出时间测值(s)5不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal lengjCz5;

    /**
     * 棱角性试验细集料流动时间测定值-平均值(s)
     */
    @NotNull(message = "棱角性试验细集料流动时间测定值-平均值(s)不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal lengjPjz;

    @NotNull(message = "报表编号集", groups = { AddGroup.class, EditGroup.class })
    private List<String> baobbhList;
}
